/* nvm_config.h */

#ifndef _NVM_CONFIG_H
#define _NVM_CONFIG_H

#include <stdint.h>

// // NVM设备起始地址
// #define HD_NVM_START 0x02000000

// // NVM设备大小
// #define HD_NVM_SIZE 0x2000000

// // NVM设备页大小
// #define HD_NVM_PAGE_SIZE 0x500

// nvm初始化
int nvm_init();

// 页擦除操作
void nvm_page_erase( int page_num );

// 页写入操作
void nvm_page_write( int page_num, const void* data );

// 页读取操作
void nvm_page_read( int page_num, void* data );

// 半页擦除操作
void nvm_halfpage_erase( int page_num, int halfpage_num );

// 半页写入操作
void nvm_halfpage_write( int page_num, int halfpage_num, const void* data );

// 半页读取操作
void nvm_halfpage_read( int page_num, int halfpage_num, void* data );

// 字节擦除操作
void nvm_byte_erase( int offset );

// 字节写入操作
void nvm_byte_write( int offset, const void* data );

// 字节读取操作
void nvm_byte_read( int offset, void* data );

#endif // _NVM_CONFIG_H
